create the target pixbuf AFTER filling in width/height, so that passing in
authorHavoc Pennington <hp@pobox.com>
Sat, 13 Apr 2002 21:14:57 +0000 (21:14 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Sat, 13 Apr 2002 21:14:57 +0000 (21:14 +0000)
2002-04-13  Havoc Pennington  <hp@pobox.com>

* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
the target pixbuf AFTER filling in width/height, so that
passing in -1 for width/height will work.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdkpixbuf-drawable.c

index 27dcfc3206412a1663708a4e7e664871b621acba..471f9f4c967f94794c6c220cae58743f5f0c315d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
+       the target pixbuf AFTER filling in width/height, so that 
+       passing in -1 for width/height will work.
+       
 Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>
 
        Fixes #75510
index 27dcfc3206412a1663708a4e7e664871b621acba..471f9f4c967f94794c6c220cae58743f5f0c315d 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
+       the target pixbuf AFTER filling in width/height, so that 
+       passing in -1 for width/height will work.
+       
 Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>
 
        Fixes #75510
index 27dcfc3206412a1663708a4e7e664871b621acba..471f9f4c967f94794c6c220cae58743f5f0c315d 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
+       the target pixbuf AFTER filling in width/height, so that 
+       passing in -1 for width/height will work.
+       
 Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>
 
        Fixes #75510
index 27dcfc3206412a1663708a4e7e664871b621acba..471f9f4c967f94794c6c220cae58743f5f0c315d 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
+       the target pixbuf AFTER filling in width/height, so that 
+       passing in -1 for width/height will work.
+       
 Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>
 
        Fixes #75510
index 27dcfc3206412a1663708a4e7e664871b621acba..471f9f4c967f94794c6c220cae58743f5f0c315d 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
+       the target pixbuf AFTER filling in width/height, so that 
+       passing in -1 for width/height will work.
+       
 Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>
 
        Fixes #75510
index 27dcfc3206412a1663708a4e7e664871b621acba..471f9f4c967f94794c6c220cae58743f5f0c315d 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
+       the target pixbuf AFTER filling in width/height, so that 
+       passing in -1 for width/height will work.
+       
 Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>
 
        Fixes #75510
index 0a15d98fc3597dfe0f0c54c4047c34d350b15722..d74ee95d2d03ce1a593583b15b3da945842dfd60 100644 (file)
@@ -1501,14 +1501,6 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf   *dest,
       g_return_val_if_fail (dest->bits_per_sample == 8, NULL);
     }
 
-  /* Create the pixbuf if needed */
-  if (!dest)
-    {
-      dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
-      if (dest == NULL)
-        return NULL;
-    }
-
   if (cmap == NULL)
     cmap = gdk_drawable_get_colormap (src);
 
@@ -1536,6 +1528,14 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf   *dest,
       g_return_val_if_fail (src_x + width <= src_width && src_y + height <= src_height, NULL);
     }
 
+  /* Create the pixbuf if needed */
+  if (!dest)
+    {
+      dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
+      if (dest == NULL)
+        return NULL;
+    }
+  
   if (dest)
     {
       g_return_val_if_fail (dest_x >= 0 && dest_y >= 0, NULL);